home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / Borland Visual dBASE Professiona v7.0 / DATA1.CAB / Sample_dBASE / Fleet / Fleet.prg < prev    next >
Text File  |  1997-11-20  |  4KB  |  143 lines

  1. //--------------------------------------------------------------
  2. //
  3. //  Fleet.prg - Fleet Manager Application Class 
  4. //
  5. //  Main procedure for the Fleet application. This file defines
  6. //  FleetApp which contains methods for opening all forms and dialogs. 
  7. //
  8. //  Dependencies: < See SET PROCEDURE list at the top of the 
  9. //                  FleetApp constructor. >
  10. //
  11. //  Visual dBASE Samples Group
  12. //
  13. //  $Revision:   1.12  $
  14. //
  15. //  Copyright (c) 1997, Borland International, Inc. 
  16. //  All rights reserved.
  17. //
  18. //---------------------------------------------------------------
  19.  
  20.    local app, sRunFolder
  21.    private sAppFolder
  22.    SET TALK OFF
  23.    sRunFolder = SET("DIRECTORY")
  24.    sAppFolder = SUBSTR( PROGRAM(0), 1, ;
  25.                         LEN( PROGRAM( 0 ) ) - ( LEN( PROGRAM() ) + 4 ) )
  26.    sRunFolder := '"' + sRunFolder + '"'
  27.    sAppFolder := '"' + sAppFolder + '"'
  28.    SET DIRECTORY TO &sAppFolder.
  29.  
  30.    app = new FleetApp( sRunFolder )
  31. return ( app.open() )
  32.  
  33. class FleetApp( sRunFolder )
  34.    SET PROCEDURE TO PROGRAM(0)
  35.    SET PROCEDURE TO "fleetbar.prg"  ADDITIVE
  36.    SET PROCEDURE TO "fdatabar.prg"  ADDITIVE
  37.    SET PROCEDURE TO "ftree.pop"     ADDITIVE
  38.    SET PROCEDURE TO "aircraft.wfm"  ADDITIVE
  39.    SET PROCEDURE TO "fleet.wfm"     ADDITIVE
  40.    SET PROCEDURE TO "ftree.wfm"     ADDITIVE
  41.    SET PROCEDURE TO "fabout.wfm"    ADDITIVE
  42.    SET PROCEDURE TO "schedule.wfm"  ADDITIVE
  43.    SET PROCEDURE TO "genwizard.wfm" ADDITIVE
  44.    SET PROCEDURE TO "repview.wfm"   ADDITIVE
  45.    SET PROCEDURE TO "repview.pop"   ADDITIVE
  46.    SET PROCEDURE TO "reportbar.prg" ADDITIVE
  47.  
  48.    this.restoreFolder = sRunFolder
  49.    this.mainForm = new fleetForm()
  50.    this.mainForm.app = this
  51.   
  52.    function open
  53.        local t
  54.        CLOSE FORMS
  55.        SHELL( false )
  56.        SET DESIGN OFF
  57.        this.mainForm.height := 2.5        
  58.        t = new FleetToolbar()
  59.        this.mainForm.open()
  60.        t.attach( this.mainForm )
  61.    return ( this.mainForm.setFocus() )
  62.  
  63.    function close
  64.       local bRuntime
  65.       bRuntime = ( "runtime" $ LOWER( VERSION(0) ) )
  66.       if ( bRuntime )
  67.          quit
  68.       else
  69.          PRIVATE sFolder
  70.          sFolder = this.restoreFolder
  71.          SET DIRECTORY TO &sFolder.
  72.          CLOSE FORMS
  73.          SET DESIGN ON
  74.          shell( true, true )
  75.       endif
  76.       SET PROCEDURE TO
  77.    return ( bRuntime )
  78.  
  79.    function openAircraftForm
  80.       local f
  81.       f = new AircraftForm()
  82.    return ( class::openDataForm( f ) )
  83.  
  84.    function openFleetTreeForm
  85.       local f
  86.       f = new FTreeForm()
  87.       f.app = this
  88.       f.mdi := false
  89.    return ( f.open() )
  90.  
  91.    function openScheduleForm
  92.       local f
  93.       f = new ScheduleForm()
  94.       f.width := 50 // hide dialog buttons
  95.       f.height := f.height + 1.5 // add room for toolbar
  96.    return ( class::openDataForm( f ) )
  97.  
  98.    function openScheduleAsDialog( item )
  99.       local f
  100.       f = new scheduleForm()
  101.       f.mdi := false
  102.       f.rowset.applyLocate('"Flight Date" = ' + item.sFlightDate + ;
  103.                         ' AND "Flight ID" = ' + item.sFlightID + ;
  104.                      '  AND "Aircraft ID" = ' + item.sAircraftID )
  105.    return ( f.readModal() )
  106.  
  107.    function readWizard
  108.       local f
  109.       f = new GenWizardForm()
  110.       f.mdi := true
  111.    return ( f.readModal() )
  112.  
  113.  
  114.    function openDataForm( f )
  115.       local bOpen
  116.       f.app = this
  117.       f.mdi := false
  118.       f.visible := false
  119.       f.open()
  120.       DO "fdatabar.prg" with f
  121.       f.visible := true
  122.    return ( f.setFocus() )
  123.    
  124.    function viewFlightReport
  125.       local f
  126.       f = new RepViewForm()    
  127.       with ( f )
  128.          mdi := false
  129.          repView.filename := "flight.rep"
  130.       endwith
  131.    return ( f.open() )
  132.    
  133.    function viewAircraftReport
  134.       local f
  135.       f = new RepViewForm()
  136.       with ( f )
  137.          mdi := false
  138.          repView.filename := "aircraft.rep"
  139.       endwith
  140.    return ( f.open() )
  141.  
  142. endclass
  143.